package top.xunfong.knowledge.service;

import com.baomidou.mybatisplus.extension.service.IService;
import top.xunfong.common.core.domain.dto.BatchDTO;
import top.xunfong.knowledge.entity.KnowledgeFile;
import top.xunfong.knowledge.dto.KnowledgeFileDTO;
import top.xunfong.knowledge.dto.KnowledgeFileQueryDTO;
import top.xunfong.knowledge.vo.KnowledgeFileVO;
import top.xunfong.mybatis.core.page.PageDTO;
import top.xunfong.common.core.domain.R;
import top.xunfong.common.core.domain.TableDataInfo;

public interface KnowledgeFileService extends IService<KnowledgeFile> {
    /**
     * 新增
     *
     * @param dto
     * @return
     */
    R<?> insertKnowledgeFile(KnowledgeFileDTO dto);


    /**
     * 修改
     *
     * @param dto
     * @return
     */
    R<?> updateKnowledgeFile(KnowledgeFileDTO dto);

    /**
     * 批量删除
     *
     * @param dto
     * @return
     */
    R<?> deleteKnowledgeFile(BatchDTO<Long> dto);

    /**
     * 列表查询
     *
     * @param dto
     * @return
     */
    TableDataInfo<KnowledgeFileVO> listKnowledgeFile(KnowledgeFileQueryDTO dto, PageDTO pageDTO);

    /**
     * 单查询
     *
     * @param id
     * @return
     */
    R<KnowledgeFileVO> singleKnowledgeFile(Long id);
}